home *** CD-ROM | disk | FTP | other *** search
/ MPEG Toolkit / MPEG Toolkit.iso / win / med-lib / mdctrl.z / MEDIADYN.INC < prev    next >
Text File  |  1996-03-05  |  23KB  |  365 lines

  1. {* ********************************************************************** *}
  2. {* ***                        MEDIADYN.INC                            *** *}
  3. {* ***                                                                *** *}
  4. {* ***                   Media Control Library                        *** *}
  5. {* ***         A Product of MediaDynamics Inc. (c) 1993-1996          *** *}
  6. {* ***                   ___              ___                         *** *}
  7. {* ***                  |   \            /   |                        *** *}
  8. {* ***                  |    \          /    |                        *** *}
  9. {* ***                  |     \        /     |                        *** *}
  10. {* ***                  |      \   __ /___   |                        *** *}
  11. {* ***                  |  |\   \ |       |  |\                       *** *}
  12. {* ***                  |  | \   \|  -----|  | \                      *** *}
  13. {* ***                  |  |  \   \/   /  |  |  \                     *** *}
  14. {* ***                  |  |   \      /   |  |\  \                    *** *}
  15. {* ***                  |  |    \    /    |  | |  |                   *** *}
  16. {* ***                  |  |     \  /|    |  | |  |                   *** *}
  17. {* ***                  |__|      \/ |    |__| |  |                   *** *}
  18. {* ***                            |  |         |  |                   *** *}
  19. {* ***                            |  |        /  /                    *** *}
  20. {* ***                            |  |-------/  /                     *** *}
  21. {* ***                            |____________/                      *** *}
  22. {* ***                                                                *** *}
  23. {* ***                                                                *** *}
  24. {* ***  Declaration file for using the Media Control Library within   *** *}
  25. {* ***                       Borland Delphi                           *** *}
  26. {* ***                                                                *** *}
  27. {* ********************************************************************** *}
  28.  
  29.  
  30. { ******************************************************************** }
  31. { ***                                                              *** }
  32. { ***                           Constants                          *** }
  33. { ***                                                              *** }
  34. { ******************************************************************** }
  35. Const
  36. { ******************************************************************** }
  37. { ***  For use with the Command: mdPlay                            *** }
  38. { ******************************************************************** }
  39. MD_PLAY_NONMODAL: Integer = 0;       { Normal mode - Play concurrently }
  40. MD_PLAY_MODAL:    Integer = 1;       { Modal - Play til done           }
  41.  
  42. { ******************************************************************** }
  43. { ***  For use with the Commands: mdSetCursor,                     *** }
  44. { ***                             mdSetVideoCursor,                *** }
  45. { ***                             mdSetCtrlCursor                  *** }
  46. { ******************************************************************** }
  47. MD_CURSOR_BLANK: Integer = 0;           { Invisible cursor                  }
  48. MD_CURSOR_HAND1: Integer = 1;           { Type 1 hand cursor                }
  49. MD_CURSOR_HAND2: Integer = 2;           { Type 2 hand cursor                }
  50. MD_CURSOR_HOURGLASS: Integer = 3;       { Wait hourglass                    }
  51. MD_CURSOR_MAGNIFY: Integer = 4;         { Magnifying glass                  }
  52. MD_CURSOR_QUESTPOINT: Integer = 5;      { Pointer cursor with question mark }
  53. MD_CURSOR_CROSSHAIR1: Integer = 6;      { Type 1 crosshair cursor           }
  54. MD_CURSOR_CROSSHAIR2: Integer = 7;      { Type 2 crosshair cursor           }
  55. MD_CURSOR_CROSS: Integer = 8;           { Large cross cursor                }
  56. MD_CURSOR_MOVE: Integer = 9;            { left/right/up/down arrow cursor   }
  57.  
  58. { ******************************************************************** }
  59. { ***  For use with the Command: mdSetAudioLevel                   *** }
  60. { ******************************************************************** }
  61. MD_AUDIO_MIN: Integer = 0;              { Lowest audio level                }
  62. MD_AUDIO_MAX: Integer = 100;            { Maximum audio level               }
  63.  
  64. { ******************************************************************** }
  65. { ***  For use with the Command: mdSetPlaybackSpeed                *** }
  66. { ******************************************************************** }
  67. MD_PLAYBACK_MIN: Integer = 0;           { Slowest playback speed            }
  68. MD_PLAYBACK_NORM: Integer = 100;        { Normal playback speed             }
  69. MD_PLAYBACK_MAX: Integer = 200;         { Double playback speed             }
  70.  
  71. { ******************************************************************** }
  72. { ***  For use with the Command: mdGetPlayState                    *** }
  73. { ******************************************************************** }
  74. MD_PLAYSTATE_CLOSED: Integer = 0;       { No file is open                                                }
  75. MD_PLAYSTATE_PLAYING: Integer = 1;      { File is currently playing                                      }
  76. MD_PLAYSTATE_SEEKING: Integer = 2;      { File is currently seeking to a frame                           }
  77. MD_PLAYSTATE_PAUSED: Integer = 3;       { File is currently paused                                       }
  78. MD_PLAYSTATE_END: Integer = 4;          { File has played to the end (Of the file or specified clip)     }
  79. MD_PLAYSTATE_STOPPED: Integer = 5;      { File is currently stopped                                      }
  80.  
  81. { ******************************************************************** }
  82. { ***  For use with the Command: mdGetFileType                     *** }
  83. { ******************************************************************** }
  84. MD_MEDIATYPE_AVI:  Integer = 0;        { VfW, Indeo, Cinepak, etc.                                       }
  85. MD_MEDIATYPE_AVS:  Integer = 1;        { Intel DVI (RTV or PLV)                                          }
  86. MD_MEDIATYPE_WAV:  Integer = 2;        { Wave Audio (Compressed or Uncompressed                          }
  87. MD_MEDIATYPE_MPEG: Integer = 3;        { MPEG Video                                                      }
  88. MD_MEDIATYPE_QTW:  Integer = 4;        { Quicktime for Windows                                           }
  89.  
  90. { ******************************************************************** }
  91. { ***  For use with the Commands: mdOpen and mdSetWinSize          *** }
  92. { ******************************************************************** }
  93. MD_VIDSIZE_W_AUTOMATIC: Integer = 10;  { Width Parameter:  Automatically size the video                  }
  94. MD_VIDSIZE_H_AUTOMATIC: Integer = 0;   { Height Parameter: Required to make the sizing automatic         }
  95.  
  96. { ******************************************************************** }
  97. { ***  For use with the Commands: mdOpen and mdSetClip             *** }
  98. { ******************************************************************** }
  99. MD_FRAME_DEFAULT_BEG: LongInt = 0;     { Automatically start the clip at the 1st frame                   }
  100. MD_FRAME_DEFAULT_END: LongInt = 0;     { Automatically end the clip on the last frame                    }
  101.  
  102. { ******************************************************************** }
  103. { ***  For use with the Command: mdOpen                            *** }
  104. { ******************************************************************** }
  105. MD_LOAD_AV_SHOW: Integer = 0;          { Preload Parameter: Load and immediately show                    }
  106. MD_LOAD_AV_HIDDEN: Integer = 1;        { Preload Parameter: Load and keep hidden until mdShow            }
  107.  
  108. { ******************************************************************** }
  109. { ***  For use with the Commands: mdOpen and mdSetCtrlType         *** }
  110. { ******************************************************************** }
  111. MD_CONTROL_INT_MODAL: Integer = 1;     { Shows the control bar with a close button (modal)               }
  112. MD_CONTROL_INT_NONMODAL: Integer = 2;  { Shows the control bar without a close button (non-modal)        }
  113. MD_CONTROL_INT_NONE: Integer = 3;      { Does not show the control bar (best with user defined controls) }
  114.  
  115.  
  116.  
  117.  
  118. { ******************************************************************** }
  119. { ***                                                              *** }
  120. { ***              Control Functions and Subroutines               *** }
  121. { ***                                                              *** }
  122. { ******************************************************************** }
  123.  
  124. Function  mdOpen                ( hwndParent: Word; szFileName: PChar; 
  125.                                   nXPos, nYPos, nWidth, nHeight: Integer; 
  126.                                   lBegFrame, lEndFrame: LongInt; 
  127.                                   nCtrlType, bPreload: Integer): Integer;
  128.                                   far; external 'mdCtrl';
  129.  
  130. Function  mdOpenLite            ( hwndParent: Word; szFileName: PChar; 
  131.                                   nXPos, nYPos: Integer;       
  132.                                   nCtrlType: Integer): Integer; far; external 'mdCtrl';
  133.  
  134. Function  mdClose               ( nFileHandle: Integer ): Integer; far; external 'mdCtrl';
  135. Procedure mdPlay                ( nFileHandle, nFlag: Integer ); far; external 'mdCtrl';
  136. Procedure mdPause               ( nFileHandle: Integer ); far; external 'mdCtrl';
  137.  
  138. Procedure mdStep                ( nFileHandle: Integer ); far; external 'mdCtrl';
  139. Procedure mdStop                ( nFileHandle: Integer ); far; external 'mdCtrl';
  140.  
  141. Procedure mdGotoFrame           ( nFileHandle: Integer; dwGotoFrame: LongInt ); far; external 'mdCtrl';
  142. Procedure mdRewind              ( nFileHandle: Integer ); far; external 'mdCtrl';
  143. Procedure mdRestart             ( nFileHandle: Integer ); far; external 'mdCtrl';
  144.  
  145. Function  mdOpenDevice          ( szDevice PChar ): Integer; far; external 'mdCtrl';
  146. Function  mdCloseDevice         ( szDevice PChar ): Integer; far; external 'mdCtrl';
  147.  
  148.  
  149. { ********************************************************************** }
  150. { ***      Prototypes:      Custom Control Functions  (4)            *** }
  151. { ********************************************************************** }
  152. Function  mdCloseInterface      ( nInterfaceNo: Integer ): Integer;
  153.                                  far; external 'mdCtrl';
  154. Function  mdOpenInterface       ( szBMFileName, szBMPosInfoFileName: PChar ): Integer;
  155.                                  far; external 'mdCtrl';
  156. Function  mdGetButtonClicked    ( int nFileHandle ):Integer; far; external 'mdCtrl';
  157. Function  mdSetInterfaceNo      ( int nInterfaceNo ): Integer; far; external 'mdCtrl';
  158.  
  159.  
  160. { ******************************************************************** }
  161. { ***                                                              *** }
  162. { ***                Window Control Subroutines                    *** }
  163. { ***                                                              *** }
  164. { ******************************************************************** }
  165.  
  166. Procedure mdHide                ( nFileHandle: Integer ); far; external 'mdCtrl';
  167. Procedure mdShow                ( nFileHandle: Integer ); far; external 'mdCtrl';
  168.  
  169. Procedure mdHideVideo           ( nFileHandle: Integer ); far; external 'mdCtrl';
  170. Procedure mdShowVideo           ( nFileHandle: Integer ); far; external 'mdCtrl';
  171.  
  172. Procedure mdHideCtrl            ( nFileHandle: Integer ); far; external 'mdCtrl';
  173. Procedure mdShowCtrl            ( nFileHandle: Integer ); far; external 'mdCtrl';
  174.  
  175.  
  176. { ******************************************************************** }
  177. { ***                                                              *** }
  178. { ***          Parameter Setting Functions and Subroutines         *** }
  179. { ***                                                              *** }
  180. { ******************************************************************** }
  181.  
  182. Procedure mdSetClip             ( nFileHandle: Integer; dwBeg, dwEnd: LongInt ); far; external 'mdCtrl';
  183.  
  184. Procedure mdSetWinPos           ( nFileHandle, nXPos, nYPos: Integer ); far; external 'mdCtrl';
  185. Procedure mdSetWinSize          ( nFileHandle, nWidth, nHeight: Integer ); far; external 'mdCtrl';
  186.  
  187. Procedure mdSetVideoWinPos      ( nFileHandle, nXPos, nYPos: Integer ); far; external 'mdCtrl';
  188. Procedure mdSetVideoWinSize     ( nFileHandle, nWidth, nHeight: Integer ); far; external 'mdCtrl';
  189.  
  190. Procedure mdSetCtrlWinPos       ( nFileHandle, nXPos, nYPos: Integer ); far; external 'mdCtrl';
  191. Procedure mdSetCtrlWinSize      ( nFileHandle, nWidth: Integer ); far; external 'mdCtrl';
  192.  
  193. Procedure mdSetWindowMoveable   ( nFileHandle, bMoveable: Integer ); far; external 'mdCtrl';
  194. Procedure mdSetWindowInteractive( nFileHandle, bInteract: Integer ); far; external 'mdCtrl';
  195.  
  196. Procedure mdSetAudioLevel       ( nFileHandle, nAudioLevel: Integer ); far; external 'mdCtrl';
  197. Procedure mdSetAudioMute        ( nFileHandle: Integer ); far; external 'mdCtrl';
  198.  
  199. Procedure mdSetCtrlType         ( nFileHandle, nType: Integer ); far; external 'mdCtrl';
  200.  
  201. Procedure mdSetWinTop           ( nFileHandle: Integer ); far; external 'mdCtrl';
  202. Procedure mdSetWinBottom        ( nFileHandle: Integer ); far; external 'mdCtrl';
  203. Procedure mdSetNewParent        ( nFileHandle, hNewParent: Integer ); far; external 'mdCtrl';
  204.  
  205. Procedure mdSetClippingRegion   ( nFileHandle, nXPos, nYPos, nWidth, nHeight, nDisplayFlag: Integer );
  206.                                   far; external 'mdCtrl';
  207.  
  208. Procedure mdSetVideoAspect      ( nFileHandle, nXPos, nYPos, nWidth, nHeight,
  209.                                   nJustify, bLimitFlag: Integer ); far; external 'mdCtrl';
  210.  
  211. Procedure mdSetVideoOffset      ( nFileHandle, nDown, nRight: Integer ); far; external 'mdCtrl';
  212.  
  213. Procedure mdSetVideoPalette     ( bPalFlag: Integer ); far; external 'mdCtrl';
  214. Procedure mdSetKeyColor         ( nRed, nGreen, nBlue: Integer ); far; external 'mdCtrl';
  215.  
  216. Procedure mdSetPlaybackSpeed    ( nFileHandle, nPlaybackSpeed: Integer ); far; external 'mdCtrl';
  217.                 
  218.                 
  219. Function  mdSetActivePalette    ( szActivePaletteFile: PChar ): Integer; far; external 'mdCtrl';
  220.  
  221. Function  mdSetPlayRepeat       ( nFileHandle, bRepeatFlag: Integer ): Integer; far; external 'mdCtrl';
  222.  
  223. Function  mdSetParamDirect      ( nFileHandle, nIndex: Integer; lValue: LongInt ): 
  224.                                     Integer; far; external 'mdCtrl';
  225.  
  226. Function  mdSetTimeFormat       ( nFileHandle, wTimeFormat: Integer ): Integer; far; external 'mdCtrl';
  227.  
  228.  
  229.  
  230. { ******************************************************************** }
  231. { ***                                                              *** }
  232. { ***            Informational Functions and Subroutines           *** }
  233. { ***                                                              *** }
  234. { ******************************************************************** }
  235.  
  236. Function  mdGetFileType         ( nFileHandle: Integer ): Integer; far; external 'mdCtrl';
  237. Function  mdGetWindowHandle     ( nFileHandle: Integer ): Word; far; external 'mdCtrl';
  238. Function  mdGetCtrlWindowHandle ( nFileHandle: Integer ): Word; far; external 'mdCtrl';
  239.  
  240. Function  mdGetDeviceID         ( nFileHandle: Integer ): Integer; far; external 'mdCtrl';
  241. Function  mdGetFrame            ( nFileHandle: Integer ): LongInt; far; external 'mdCtrl';
  242. Function  mdGetClipFrame        ( nFileHandle: Integer ): LongInt; far; external 'mdCtrl';
  243.  
  244. Function  mdGetLength           ( nFileHandle: Integer ): LongInt; far; external 'mdCtrl';
  245. Function  mdGetClipLength       ( nFileHandle: Integer ): LongInt; far; external 'mdCtrl';
  246.  
  247. Function  mdGetPlayState        ( nFileHandle: Integer ): Integer; far; external 'mdCtrl';
  248. Function  mdGetDisplayState     ( nFileHandle: Integer ): Integer; far; external 'mdCtrl';
  249.  
  250. Procedure mdGetWinPos           ( nFileHandle: Integer; nXPos, nYPos: PInteger ); far; external 'mdCtrl';
  251. Procedure mdGetWinSize          ( nFileHandle: Integer; nWidth, nHeight: PInteger ); far; external 'mdCtrl';
  252.  
  253. Function  mdGetWinX             ( nFileHandle: Integer ): Integer; far; external 'mdCtrl';
  254. Function  mdGetWinY             ( nFileHandle: Integer ): Integer; far; external 'mdCtrl';
  255. Function  mdGetWinWidth         ( nFileHandle: Integer ): Integer; far; external 'mdCtrl';
  256. Function  mdGetWinHeight        ( nFileHandle: Integer ): Integer; far; external 'mdCtrl';
  257.  
  258. Procedure mdGetVideoWinPos      ( nFileHandle: Integer; nXPos, nYPos: PInteger ); far; external 'mdCtrl';
  259. Procedure mdGetVideoWinSize     ( nFileHandle: Integer; nWidth, nHeight: PInteger ); far; external 'mdCtrl';
  260.  
  261. Function  mdGetVideoWinX        ( nFileHandle: Integer ): Integer; far; external 'mdCtrl';
  262. Function  mdGetVideoWinY        ( nFileHandle: Integer ): Integer; far; external 'mdCtrl';
  263. Function  mdGetVideoWinWidth    ( nFileHandle: Integer ): Integer; far; external 'mdCtrl';
  264. Function  mdGetVideoWinHeight   ( nFileHandle: Integer ): Integer; far; external 'mdCtrl';
  265.  
  266. Procedure mdGetCtrlWinPos       ( nFileHandle: Integer; nXPos, nYPos: PInteger ); far; external 'mdCtrl';
  267. Procedure mdGetCtrlWinSize      ( nFileHandle: Integer; nWidth: PInteger ); far; external 'mdCtrl';
  268.  
  269. Function  mdGetCtrlWinX         ( nFileHandle: Integer ): Integer; far; external 'mdCtrl';
  270. Function  mdGetCtrlWinY         ( nFileHandle: Integer ): Integer; far; external 'mdCtrl';
  271. Function  mdGetCtrlWinWidth     ( nFileHandle: Integer ): Integer; far; external 'mdCtrl';
  272.  
  273. Function  mdGetAreaClicked      ( nFileHandle: Integer ): Integer; far; external 'mdCtrl';
  274. Function  mdGetOpenFileCount:   Integer; far; external 'mdCtrl';
  275.  
  276. Function  mdGetFrameRate        ( nFileHandle: Integer ): Integer; far; external 'mdCtrl';
  277.  
  278. Function  mdGetPlayedStatus     ( nFileHandle: Integer ): Integer; far; external 'mdCtrl';
  279.  
  280. Function  mdGetVolumeLevel      ( nFileHandle: Integer ): Integer; far; external 'mdCtrl';
  281.  
  282.  
  283. Function  mdGetVideoImage       ( nFileHandle: Integer; szFileName: PChar ): Integer; far; external 'mdCtrl';
  284.  
  285. Procedure mdGetOrigVideoWinSize ( nFileHandle: Integer; Width, Height: PInteger ); far; external 'mdCtrl';
  286.  
  287. Function  mdGetFileName         ( nFileHandle: Integer; szFileName: PChar; nMaxLen: Integer ): Integer; far; external 'mdCtrl';
  288.  
  289. Function  mdGetFramesSkipped    ( nFileHandle: Integer ): LongInt; far; external 'mdCtrl';
  290.  
  291. Procedure mdGetPosClicked       ( nFileHandle: Integer; lpnXPos, lpnYPos: PInteger ); far; external 'mdCtrl';
  292.  
  293. Function  mdGetXPosClicked      ( nFileHandle: Integer ): Integer; far; external 'mdCtrl';
  294. Function  mdGetYPosClicked      ( nFileHandle: Integer ): Integer; far; external 'mdCtrl';
  295.  
  296. Function  mdGetVersion:         LongInt; far; external 'mdCtrl';
  297.  
  298. Function  mdGetVideoPalette:    Integer; far; external 'mdCtrl';
  299.  
  300. { ******************************************************************** }
  301. { ***                                                              *** }
  302. { ***               Graphics Functions and Subroutines             *** }
  303. { ***                                                              *** }
  304. { ******************************************************************** }
  305. Function  mdOpenGraphic      ( nFileHandle: Integer; szFileName: PChar ): Integer; far; external 'mdCtrl';
  306. Function  mdOpenGraphicKeep  ( nFileHandle: Integer; szFileName: PChar ): Integer; far; external 'mdCtrl';
  307. Function  mdShowGraphic      ( nFileHandle, bShowPalette: Integer ): Integer; far; external 'mdCtrl';
  308. Function  mdShowGraphicPos   ( nFileHandle, nXPos, nYPos, nWidth, nHeight, bShowPalette: Integer ):
  309.                                Integer; far; external 'mdCtrl';
  310. Procedure mdHideGraphic      ( nFileHandle: Integer ); far; external 'mdCtrl';
  311. Procedure mdCloseGraphic     ( nFileHandle: Integer ); far; external 'mdCtrl';
  312. Function  mdDisplayGraphic   ( nFileHandle: Integer; szFileName: PChar;
  313.                                nXPos, nYPos, bShowPalette: Integer ): Integer; far; external 'mdCtrl';
  314.  
  315.  
  316. { ******************************************************************** }
  317. { ***                                                              *** }
  318. { ***            Cursor Control Functions and Subroutines          *** }
  319. { ***                                                              *** }
  320. { ******************************************************************** }
  321. Procedure mdSetCursor        ( nCursorNo: Integer ); far; external 'mdCtrl';
  322. Procedure mdResetCursor;       far; external 'mdCtrl';
  323. Procedure mdSetVideoCursor   ( nCursorNo: Integer ); far; external 'mdCtrl';
  324. Procedure mdResetVideoCursor;  far; external 'mdCtrl';
  325. Procedure mdSetCtrlCursor    ( nCursorNo: Integer ); far; external 'mdCtrl';
  326. Procedure mdResetCtrlCursor;   far; external 'mdCtrl';
  327.  
  328.  
  329. { ******************************************************************** }
  330. { ***                                                              *** }
  331. { ***            Miscellaneous Functions and Subroutines           *** }
  332. { ***                                                              *** }
  333. { ******************************************************************** }
  334. Procedure mdTimedDelay       ( fSeconds: Single ); far; external 'mdCtrl';
  335.  
  336. Function  mdFileDoesNotExist ( szFileName: PChar ): Integer; far; external 'mdCtrl';
  337. Function  mdFileDoesExist    ( szFileName: PChar ): Integer; far; external 'mdCtrl';
  338.  
  339. Procedure mdDisplayErrorMsgs ( bErrMsgFlag: Integer ); far; external 'mdCtrl';
  340. Function  mdCDEject:         Integer; far; external 'mdCtrl';
  341. Procedure mdAbout;             far; external 'mdCtrl';
  342.  
  343. Function  mdMCISendString    ( nFileHandle: Integer; szMCIString: PChar ): LongInt; far; external 'mdCtrl';
  344.  
  345. Function  mdCloseLibrary:   Integer; far; external 'mdCtrl';
  346. Function  mdOpenLibrary:    Integer; far; external 'mdCtrl';
  347.  
  348.  
  349. { ********************************************************************** }
  350. { ***      Prototypes:   Audio Record Procedures (5)                 *** }
  351. { ********************************************************************** }
  352. Function  mdWaveRecordInit:       LongInt; far; external 'mdCtrl';
  353. Function  mdWaveClose:            LongInt; far; external 'mdCtrl';
  354. Function  mdWaveRecord          ( dwMilliSeconds: LongInt; bModal: Integer ): LongInt; far; external 'mdCtrl';
  355. Function  mdWaveRecordSave      ( szFileName: PChar ): LongInt; far; external 'mdCtrl';
  356. Function  mdWaveRecordPlayback:   LongInt; far; external 'mdCtrl';
  357.  
  358.  
  359. { ********************************************************************** }
  360. { ***      Prototypes:     Error Handling  (3)                       *** }
  361. { ********************************************************************** }
  362. Function  mdGetErrorNumber   ( nFileHandle, nInfoNo: Integer ): Integer; far; external 'mdCtrl';
  363. Procedure mdGetErrorText     ( nErrorNo: Integer; szStringOut: PChar, nStringLen: Integer ); far; external 'mdCtrl';
  364. Function  mdLogErrors        ( szErrorLogFileName: PChar, bLogErrors: Integer ): Integer; far; external 'mdCtrl';
  365.